// pages/profile/index.ts
Page({
  data: {
    userInfo: {
      avatar: '',
      nickName: '',
    },
  },

  onLoad() {

  },
  // 昵称部分
  getName(e) {
    console.log(e.detail.value);
    this.upDataGetName(e.detail.value)
  },
  async upDataGetName(nickName) {
    const res = await wx.$http.put('/userInfo', {
      nickName
    })
    console.log(res);
    if (res.code !== 10000) return wx.$utils.toast('更新用户信息失败')
    this.setData({
      'userInfo.nickName': nickName,
    })
  },
  // 头像部分
  getavatar(e) {
    console.log(e.detail.avatarUrl)
    this.upDataAvatar(e.detail.avatarUrl)
  },
  upDataAvatar(avatarUrl) {
    wx.uploadFile({
      url: wx.$http.baseURL + '/upload',
      filePath: avatarUrl, //要上传文件资源的路径 (本地路径)
      name: 'file', // 文件对应的 key
      header: { //HTTP 请求 Header
        //必须自己再传一下header，请求拦截器只是给wx.$http增加了拦截器
        Authorization: getApp().token,
      },
      formData: { // HTTP 请求中其他额外的 form data
        'type': 'avatar'
      },
      // 需要改为箭头函数 不然不能使用this
      success: (res) => { // 接口调用成功的回调函数
        const data = res.data
        console.log(data) // 打印的是一个json字符串 我们需要把他转化成对象
        const tmp = JSON.parse(data)
        console.log(tmp);
        this.setData({
          'userInfo.avatar': tmp.data.url
        })
      }
    })
  }
})